package com.zyj.assets.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zyj.common.annotation.Excel;
import com.zyj.common.core.domain.BaseEntity;
import com.zyj.excelhandler.SupplierHandler;
import com.zyj.receive.domain.AssetsReceive;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 资产对象 assets_info
 * 
 * @author zhuyujie
 * @date 2022-05-09
 */
public class AssetsInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 资产编号 */
    private String id;

    /** 资产名称 */
    @Excel(name = "资产名称")
    private String assetsName;

    /** 资产类别 */
    @Excel(name = "资产类别",dictType = "assets_type")
    private String assetsType;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String assetsModel;

    /** SN号 */
    @Excel(name = "SN号")
    private String assetsSn;

    /** 计量单位 */
//    @Excel(name = "计量单位")
    private String assetsUnit;

    /** 购入来源 */
    @Excel(name = "购入来源" ,handler = SupplierHandler.class,args = {""})
    private String assetsSource;

    /** 购入日期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8")
    @Excel(name = "购入日期", width = 15, dateFormat = "yyyy-MM-dd")
    private Date assetsBuytime;

    /** 有效期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8")
    @Excel(name = "有效期", width = 15, dateFormat = "yyyy-MM-dd")
    private Date assetsExptime;

    /** 金额 */
//    @Excel(name = "金额")
    private BigDecimal assetsPrice;

    /** 所属区域 */
    @Excel(name = "所属区域",dictType = "area_type")
    private String assetsArea;

    /** 所属公司 */
    @Excel(name = "所属公司" ,dictType = "company")
    private String assetsCompany;

    /** 管理员 */
//    @Excel(name = "管理员")
    private String assetsAdmin;

    /** 存放点 */
    @Excel(name = "存放点")
    private String assetsStorage;

    /** 资产照片 */
//    @Excel(name = "资产照片")
    private String assetsImg;

    /** 备注 */
    @Excel(name = "备注")
    private String assetsDesc;

    /** 设备状态 */
    @Excel(name = "设备状态",dictType = "assets_status")
    private String assetsStatus;

    /** 0：正常 1：删除 */
    private String deleteFlag;

    /** 资产领用信息 */
    private List<AssetsReceive> assetsReceiveList;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setAssetsName(String assetsName) 
    {
        this.assetsName = assetsName;
    }

    public String getAssetsName() 
    {
        return assetsName;
    }
    public void setAssetsType(String assetsType) 
    {
        this.assetsType = assetsType;
    }

    public String getAssetsType() 
    {
        return assetsType;
    }
    public void setAssetsModel(String assetsModel) 
    {
        this.assetsModel = assetsModel;
    }

    public String getAssetsModel() 
    {
        return assetsModel;
    }
    public void setAssetsSn(String assetsSn) 
    {
        this.assetsSn = assetsSn;
    }

    public String getAssetsSn() 
    {
        return assetsSn;
    }
    public void setAssetsUnit(String assetsUnit) 
    {
        this.assetsUnit = assetsUnit;
    }

    public String getAssetsUnit() 
    {
        return assetsUnit;
    }
    public void setAssetsSource(String assetsSource) 
    {
        this.assetsSource = assetsSource;
    }

    public String getAssetsSource() 
    {
        return assetsSource;
    }
    public void setAssetsBuytime(Date assetsBuytime) 
    {
        this.assetsBuytime = assetsBuytime;
    }

    public Date getAssetsBuytime() 
    {
        return assetsBuytime;
    }
    public void setAssetsPrice(BigDecimal assetsPrice) 
    {
        this.assetsPrice = assetsPrice;
    }

    public BigDecimal getAssetsPrice() 
    {
        return assetsPrice;
    }
    public void setAssetsArea(String assetsArea) 
    {
        this.assetsArea = assetsArea;
    }

    public String getAssetsArea() 
    {
        return assetsArea;
    }
    public void setAssetsCompany(String assetsCompany) 
    {
        this.assetsCompany = assetsCompany;
    }

    public String getAssetsCompany() 
    {
        return assetsCompany;
    }
    public void setAssetsAdmin(String assetsAdmin) 
    {
        this.assetsAdmin = assetsAdmin;
    }

    public String getAssetsAdmin() 
    {
        return assetsAdmin;
    }
    public void setAssetsStorage(String assetsStorage) 
    {
        this.assetsStorage = assetsStorage;
    }

    public String getAssetsStorage() 
    {
        return assetsStorage;
    }
    public void setAssetsImg(String assetsImg) 
    {
        this.assetsImg = assetsImg;
    }

    public String getAssetsImg() 
    {
        return assetsImg;
    }
    public void setAssetsDesc(String assetsDesc) 
    {
        this.assetsDesc = assetsDesc;
    }

    public String getAssetsDesc() 
    {
        return assetsDesc;
    }
    public void setAssetsStatus(String assetsStatus) 
    {
        this.assetsStatus = assetsStatus;
    }

    public String getAssetsStatus() 
    {
        return assetsStatus;
    }
    public void setDeleteFlag(String delete)
    {
        this.deleteFlag = deleteFlag;
    }

    public String getDeleteFlag()
    {
        return deleteFlag;
    }

    public List<AssetsReceive> getAssetsReceiveList()
    {
        return assetsReceiveList;
    }

    public void setAssetsReceiveList(List<AssetsReceive> assetsReceiveList)
    {
        this.assetsReceiveList = assetsReceiveList;
    }

    public Date getAssetsExptime() {
        return assetsExptime;
    }

    public void setAssetsExptime(Date assetsExptime) {
        this.assetsExptime = assetsExptime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("assetsName", getAssetsName())
            .append("assetsType", getAssetsType())
            .append("assetsModel", getAssetsModel())
            .append("assetsSn", getAssetsSn())
            .append("assetsUnit", getAssetsUnit())
            .append("assetsSource", getAssetsSource())
            .append("assetsBuytime", getAssetsBuytime())
            .append("assetsPrice", getAssetsPrice())
            .append("assetsArea", getAssetsArea())
            .append("assetsCompany", getAssetsCompany())
            .append("assetsAdmin", getAssetsAdmin())
            .append("assetsStorage", getAssetsStorage())
            .append("assetsImg", getAssetsImg())
            .append("assetsDesc", getAssetsDesc())
            .append("assetsStatus", getAssetsStatus())
            .append("delete", getDeleteFlag())
            .append("createTime", getCreateTime())
            .append("assetsReceiveList", getAssetsReceiveList())
            .toString();
    }
}
